package com.team2.outpatient_sys.service;

import com.team2.outpatient_sys.pojo.Department;

import java.util.List;

public interface AdminDepartmentService {
    /**
     * 添加新科室的服务的规范
     * @param department 添加的科室实例对象
     * @return 添加新科室服务是否成功
     */
    boolean addNew(Department department);

    /**
     * 逐一修改科室信息所有字段的服务的规范
     * @param department 修改的科室实例对象
     * @return 修改科室信息的服务是否成功
     */
    boolean updateWhole(Department department);

    /**
     * 根据id删除某一科室信息的服务的规范
     * @param departmentId 科室信息的id
     * @return 删除科室信息是否成功
     */
    boolean deleteById(Integer departmentId);

    /**
     * 获取所有科室信息的服务的规范
     * @return 获取到的所有科室数据的List集合
     */
    List<Department> getAll();

    /**
     * 根据id获取对应科室信息的服务的规范
     * @param deptId 需要获取科室信息的科室id
     * @return 获取到的科室信息的封装对象
     */
    Department getById(Integer deptId);

    /**
     * 使用分页插件查询某一分页的科室信息的规范
     * @param pageNum 查询的分页页码
     * @param pageSize 每一分页的数据个数
     * @return 查询科室信息的结果
     */
    List<Department> getByPage(Integer pageNum, Integer pageSize);
}
